package com.milepost.workflow.flowinst.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.milepost.workflow.common.dto.BootstrapTableVoDto;
import com.milepost.workflow.flowinst.vo.FlowInstVo;
import com.milepost.workflow.flowinst.dto.StartFlowDto;
import com.milepost.workflow.flowinst.entity.FlowInstEntity;

/**
 * @author huarf
 * @Description
 * @create 2022-03-27 16:53
 */
public interface FlowInstService extends IService<FlowInstEntity> {

    /**
     * 发起流程
     *  1、复制流程定义数据，
     *  2、复制流程定义节点数据
     *  3、复制流程定义表单数据、保存流程表单数据
     * @param startFlowDto
     * @return
     */
    String startFlow(StartFlowDto startFlowDto);

    /**
     * 查询我的流程列表
     * @param bootstrapTableVoDto
     * @param flowInstEntity
     * @return
     */
    Page<FlowInstEntity> getStartFlowInstList(BootstrapTableVoDto bootstrapTableVoDto, FlowInstEntity flowInstEntity);

    /**
     * 查看审批进度
     * @param id
     * @return
     */
    FlowInstVo getFlowInstById(String id);

}
